home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 745 / arexxbox / test / rx_test.h < prev    next >
C/C++ Source or Header  |  1995-03-18  |  3KB  |  142 lines

  1. /*
  2.  * Source generated with ARexxBox 1.00 (Jun 19 1992)
  3.  * which is Copyright (c) 1992 Michael Balzer
  4.  */
  5.  
  6. #define REXX_EXTENSION "arbtest"
  7.  
  8. #define RESINDEX(stype) (((long) &((struct stype *)0)->res) / sizeof(long))
  9.  
  10. #define RXIF_INIT   1
  11. #define RXIF_ACTION 2
  12. #define RXIF_FREE   3
  13.  
  14. #define ARB_CF_ENABLED     (1L << 0)
  15. #define ARB_HF_CMDSHELL    (1L << 0)
  16.  
  17. struct RexxHost
  18. {
  19.     struct MsgPort *port;
  20.     char portname[ 80 ];
  21.     long replies;
  22.     struct RDArgs *rdargs;
  23.     long flags;
  24.     APTR userdata;
  25. };
  26.  
  27. struct rxs_command
  28. {
  29.     char *command, *args, *results;
  30.     long resindex;
  31.     void (*function)( struct RexxHost *, void **, long );
  32.     long flags;
  33. };
  34.  
  35. #ifndef NO_GLOBALS
  36. extern char RexxPortBaseName[80];
  37. extern struct rxs_command rxs_commandlist[];
  38. #endif
  39.  
  40. void ReplyRexxCommand( struct RexxMsg *rxmsg, long prim, long sec, char *res );
  41. void FreeRexxCommand( struct RexxMsg *rxmsg );
  42. struct RexxMsg *SendRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  43.  
  44. void CloseDownARexxHost( struct RexxHost *host );
  45. struct RexxHost *SetupARexxHost( char *basename );
  46. struct rxs_command *FindRXCommand( char *com );
  47. char *ExpandRXCommand( struct RexxHost *host, char *command );
  48. void ARexxDispatch( struct RexxHost *host );
  49.  
  50. void DoShellCommand( struct RexxHost *host, char *comline, BPTR fhout );
  51. void CommandShell( struct RexxHost *host, BPTR fhin, BPTR fhout, char *prompt );
  52.  
  53. /* rxd-Strukturen dürfen nur AM ENDE um lokale Variablen erweitert werden! */
  54.  
  55. struct rxd_help
  56. {
  57.     long rc, rc2;
  58.     struct {
  59.         char *var, *stem;
  60.         char *command;
  61.         long prompt;
  62.     } arg;
  63.     struct {
  64.         char *commanddesc;
  65.         char **commandlist;
  66.     } res;
  67. };
  68.  
  69. void rx_help( struct RexxHost *, struct rxd_help **, long );
  70.  
  71. struct rxd_inout
  72. {
  73.     long rc, rc2;
  74.     struct {
  75.         char *var, *stem;
  76.         long *arg1;
  77.     } arg;
  78.     struct {
  79.         char *res1;
  80.     } res;
  81. };
  82.  
  83. void rx_inout( struct RexxHost *, struct rxd_inout **, long );
  84.  
  85. struct rxd_multi_in_num
  86. {
  87.     long rc, rc2;
  88.     struct {
  89.         long **liste;
  90.     } arg;
  91. };
  92.  
  93. void rx_multi_in_num( struct RexxHost *, struct rxd_multi_in_num **, long );
  94.  
  95. struct rxd_multi_in_str
  96. {
  97.     long rc, rc2;
  98.     struct {
  99.         char **liste;
  100.     } arg;
  101. };
  102.  
  103. void rx_multi_in_str( struct RexxHost *, struct rxd_multi_in_str **, long );
  104.  
  105. struct rxd_multi_out_num
  106. {
  107.     long rc, rc2;
  108.     struct {
  109.         char *var, *stem;
  110.     } arg;
  111.     struct {
  112.         long **liste;
  113.     } res;
  114. };
  115.  
  116. void rx_multi_out_num( struct RexxHost *, struct rxd_multi_out_num **, long );
  117.  
  118. struct rxd_multi_out_str
  119. {
  120.     long rc, rc2;
  121.     struct {
  122.         char *var, *stem;
  123.     } arg;
  124.     struct {
  125.         char **liste;
  126.     } res;
  127. };
  128.  
  129. void rx_multi_out_str( struct RexxHost *, struct rxd_multi_out_str **, long );
  130.  
  131. struct rxd_open
  132. {
  133.     long rc, rc2;
  134.     struct {
  135.         char *file;
  136.         long prompt;
  137.     } arg;
  138. };
  139.  
  140. void rx_open( struct RexxHost *, struct rxd_open **, long );
  141.  
  142.